The present invention relates to a communication control system wherein communication stations which communicate with each other according to TCP/IP protocols are connected to Ethernet buses.
TCP/IP (Transfer Control Protocol/Internet Protocol) is a globally popular protocol for computer networks. It is a combination of two protocols TCP and/or UDP and IP, where TCP is designed to accurately transfer data while IP is designed to transfer data between networks in the form of packets.
Ethernet is a LAN (Local Area Network) most frequently used for computer networks. And xe2x80x9cEthernetxe2x80x9d is a registered trademark of Xerox Corporation.
In FIG. 1, reference symbol xe2x80x9cBxe2x80x9d refers to the bus. In FIG. 2, the structure of the communication frame xe2x80x9cTCP MESSAGExe2x80x9d comprises the TCP header (HEADR) and the TCP data; the IP PACKET comprises the IP header (HEADR) and the IP data; and the ETHERNET FRAME comprises the ETHERNET header (HDR), the ETHERNET data, and the ERROR CONTROL. xe2x80x9cTCPxe2x80x9d means xe2x80x9ctransfer control protocolxe2x80x9d. xe2x80x9cIPxe2x80x9d means xe2x80x9cInternet Protocolxe2x80x9d.
FIG. 1 is a conceptual diagram showing the configuration of a communication control system where a communication station which communicates with other stations according to TCP/IP protocols is connected to an Ethernet (hereinafter referred to as E bus). This diagram conceptually shows how software and hardware are configured in the communication control system.
A communication station ST is connected to an E bus B through network adapter NA.
There are TCP and UDP in the layer above the layer of IP. The communication station ST communicates with other stations according to these protocols.
UDP (User Data Protocol) is used to send a packet of data. Communication between a transmitting communication station and a receiving communication station takes place only once in an attempt to transfer such a packet, and there is no ability for this communication to recover from any communication failure. TCP establishes a connection between the transmitting communication station and the receiving communication station to provide such abilities as recovery from communication failure. Both of these protocols use an IP address and a protocol port number to recognize a mutual communication partner.
There are user application program(s) AP above the layer of TCP and UDP.
FIG. 2 is a schematic representation showing the structure of a communication frame for TCP. Network adapters NA receive only those frames directed at their local communication station in order to reduce the burden of software located just above the layer of the network adapters. For this purpose, a 6-byte receiver""s address (referred to as a MAC address) is appended to the Ethernet header shown in FIG. 11. The MAC address is specified so that it is unique to each network adapter and there is no address duplication on a global scale. The unit of data transferred using TCP/IP is called an IP packet, which is encupsulated in the data field of an Ethernet frame. TCP/IP communication is designed so that data can also be transferred using other media, such as ATM (Asynchronous Transfer) or WAN (Wide Area Network). Each IP packet, therefore, has an Internet address. (called an IP address) as the receiver""s address.
As described above, if communication stations which communicate with each other according to TCP/IP protocols are connected to an E bus through network adapters, the stations are required to have both a MAC address and at least one IP address. However, IP recognizes only one MAC address for each IP, which it is communication with. This has been a bottleneck when a communication system needs to be made redundant.
Some distributed control systems are provided with an E bus and some of these distributed control systems have a redundant configuration to more than one E buses in order to increase reliability. The fact that IP recognizes only one MAC address for each remote IP is a drawback, however, when a distributed control system needs to be-connected to redundant E buses, as described below.
FIG. 3 shows examples of conventional systems with redundant connections to E buses through TCP/IP protocols. In FIG. 3, diagram (a) is an example where TCP is used and diagram (b) is an example where UDP is used.
Referring to FIG. 3, buses B1 and B2 are installed as E buses. In each of the transmitting and receiving communication stations, the layers ranging from network adapters NA to TCP or UDP are made dual-redundant. It is the responsibility of a user application program AP to determine which of two redundant communication routes to use. Since the IP address is accompanied with only on MAC address, the IF layer, as well as the layer of TCP or UDP just above the IP layer, must also be made dual-redundant. In this communication control system, redundancy control must be done by the user application program AP.
This example of the prior art has the following problems:
[1] Redundancy control must be carried out by the user application program, resulting in an increase in the burden of the program.
[2] Duplication of the TCP layers requires resources (memory) for connection management, for example, to be doubled.
[3] TCP is a protocol for stream-type communication, where flow control mechanism checks if the each part of stream data is securely transferred. As a result, it is relatively difficult to guarantee the complete data transfer without any loss or duplication when TCP connection is switched over.
[4] Communication for the purpose of maintaining TCP connection is essential; therefore, the redundant connections increase the burden of a network traffic.
[5] Duplication of UDP layers eliminate the problem discussed in item 4 above. However, this solution involves a problem that the order of data items becomes unpredictable.
[6] Duplication of UDP layers do not solve the problem that data, if lost, cannot be recovered.
[7] A recovery process is therefore required for the user application program to be able to solve the problem discussed in item 6 above. However, this solution significantly increases the burden of the program.
[8] Standard TCP/IP applications do not assume such redundancy as discussed above; therefore, most TCP/IP applications, except some special ones, cannot benefit from the advantages of redundant configuration.
The present invention is intended to solve the aforementioned problems. The object of the present invention, therefore, is to provide a communication control system which is configured so that only one MAC address, which IP is aware of, is passed to IP even if duplicated components are switched between, thus making it unnecessary for the user application program to be aware of any redundant configuration even if such a configuration is applied when communication stations, which communicate with each other according to TCP/IP protocols, are connected to E buses.
As the means for solving the aforementioned problems, the present invention provides a communication control system configured as described below.
(1) A communication control system, wherein communication stations are connected to a network through network adapters; the communication stations are provided with communication control means; the communication control means communicate with each other according to TCP/IP protocols; a specific MAC address is assigned to each of the network adapters; and the communication control means is aware of only one MAC address for any single remote communication station, having:
a configuration in which only one unit of the communication control means is incorporated in each communication station and network adapters are incorporated redundantly in each communication station, and comprising:
a redundancy control means, which exists between the network adapters and the communication control means, and which converts a receiver""s MAC address included in a transmission request into the MAC address of one of network adapters to communicate with, when the redundancy control means receives a transmission request from the communication control means; and converts a sender""s MAC address included in a received frame into the MAC address, which the communication control means of the local communication station is aware of as its local network adapter, if the redundancy control means receives the frame from one of the network adapters.
(2) A communication control system as defined in item (1), wherein the redundancy control means has an address mapping table, and network adapters serving as the communication partners of the local network adapters are defined therein.
(3) A communication control system as defined in item (1), wherein the MAC addresses of the local network adapters and the MAC addresses of network adapters serving as the communication partners of the local network adapters are written in pairs in the address mapping table.
(4) A communication control system as defined in item (1), wherein the redundancy control means selects either of the redundant network adapters as the regular-use network adapter to carry out communication.
(5) A communication control system as defined in item (4), wherein the redundancy control means periodically switches the regular-use network adapter from the redundant network adapters.
(6) A communication control system as defined in item (4), comprising a diagnostic means for letting the regular-use network adapter send out network-diagnosing frames in a given period.
(7) A communication control system as defined in item (6), wherein the diagnostic means sends ICMP echo messages for a given period as diagnostic-frames and detects failure if the diagnostic means fails to receive a response within the given time period.
(8) A communication control system as defined in item (6), wherein the diagnostic means sends diagnostic frames to all communication stations on the network.
(9) A communication control system as defined in item (6), wherein the diagnostic means sends diagnostic frames only to a communication station that is necessary to secure a communication route.
(10) A communication control system as defined in item (2) or (3), wherein the redundancy control means of a transmitting communication station sends communication frames to all network adapters of the communication partner and the redundancy control means of a receiving communication station selects only the communication frame or frames having the MAC address which the communication control means of the local communication station is aware of, among the multiple communication frames received by the local redundant network adapters, and then passes the communication frame(s) to the communication control means.
(11) A communication control system as defined in item (10), wherein the redundancy control means of a receiving communication station passes the communication frames received by the regular-use network adapter to the local communication control means and uses the communication frames received by the other network adapter (s) as diagnostic frames.
(12) A communication control system as defined in item (10), wherein the redundancy control means of a receiving communication station periodically switches the regular-use network adapter from the redundant network adapters.
(13) A communication.control system as defined in item (11) or (12), wherein if the regular-use network adapter does not receive any communication frames whereas the other network adapter does, the redundancy control means of.a receiving communication station designates the network adapter that receives communication frames as the new regular-use network adapter and the previous regular-use network adapter as the stand-by network adapter.
(14) A communication control system as defined in item (10), wherein the redundancy control means of a receiving communication station passes the communication frames sent by the network adapter, which was the first to receive communication frames, to the local communication control means and uses the communication frames that the redundancy control means receives from the other network adapter as diagnostic frames.
(15) A communication control system as defined in item (1), wherein the communication control means defines virtual MAC addresses as the MAC address which the communication stations is aware of, and the redundancy control means carries out conversion between the real MAC addresses and the virtual MAC addresses.
(16) A communication control system as defined in item (15), wherein the real MAC addresses of a remote communication station, which are defined during system startup, are used as the virtual MAC addresses.
(17) A communication control system as defined in any of items (2) to (16), wherein the redundancy control means updates an address mapping table as the result of successful receipt of communication frames.
(18) A communication control system, wherein communication stations are connected to a network, the communication stations are provided with communication control means, the communication control means communicate with each other according to TCP/IP protocols, and the communication control means is aware of only one MAC address for any single remote communication station, having:
a configuration in which only one unit of the communication control means is incorporated in each communication station, and comprising:
ports redundantly incorporated in each communication station; network controllers which exist between the ports and the communication control means, have MAC addresses, and send or receive communication frames input to or output from the ports; and
a port management means which if the regular-use port is changed, connects the network controller having a MAC address that the communication control means is aware of to the new regular-use port.
(19) A communication control system as defined in item (18), wherein the port management means controls the two redundant ports so that the regular-use port carries out regular communication and the other port carries out network diagnosis only.
(20) A communication control system as defined in item (18), comprising a diagnostic means which transmits network-diagnosing frames through a port for a given period.
(21) A communication control system as defined in item (18), wherein the diagnostic means sends ICMP echo messages for a given period as diagnostic frames and detects failure if the diagnostic means fails to receive a response within the given time period.
(22) A communication control system as defined in item (18), wherein the period for which the diagnostic means sends diagnostic frames differs between the regular-use port and the other port.